﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Filmy.Model;

namespace Filmy.Kontroler.BazaDanych
{
    class Rezyserowie
    {
        public Rezyserowie()
        {
            dtRezyserowie = new dsFilmowy.RezyserowieDataTable();
            adapter = new Filmy.Model.dsFilmowyTableAdapters.RezyserowieTableAdapter();     
        }
        
        dsFilmowy.RezyserowieDataTable dtRezyserowie;
        Filmy.Model.dsFilmowyTableAdapters.RezyserowieTableAdapter adapter;
        FilmyRezyserowie filmyRezyserowie;
        int idOstatniegoRez;

        public void addNewOrId(string rezyserowie)
        {
            if (rezyserowie.Length > 0)
            {
                string[] tabRez;
                if (rezyserowie.Contains(","))
                {
                    tabRez = rezyserowie.Split(new char[] { ',' });
                }
                else
                {
                    tabRez = new string[1];
                    tabRez[0] = rezyserowie;
                }
                filmyRezyserowie = new FilmyRezyserowie();
                foreach (string Rezyser in tabRez)
                {
                    dsFilmowy.RezyserowieRow rezyserowieWiersz = dtRezyserowie.NewRezyserowieRow();
                    string[] imieNazwisko = new string[2];
                    if (Rezyser.Contains(" "))
                    {
                        imieNazwisko[0] = Rezyser.Trim().Substring(0, Rezyser.Trim().IndexOf(" ")).Trim();
                        imieNazwisko[1] = Rezyser.Trim().Substring(Rezyser.Trim().IndexOf(" ")).Trim();
                        rezyserowieWiersz.Nazwisko = imieNazwisko[1];
                    }
                    else
                    {
                        imieNazwisko[0] = rezyserowie;
                        imieNazwisko[1] = "";
                    }
                    rezyserowieWiersz.Imie = imieNazwisko[0];

                    int czyIstnieje = 0;
                    czyIstnieje = Convert.ToInt16(adapter.SprawdzCzyIstnieje(rezyserowieWiersz.Imie, rezyserowieWiersz.Nazwisko));
                    if (czyIstnieje == 0)
                    {
                        dtRezyserowie.AddRezyserowieRow(rezyserowieWiersz);
                        adapter.Update(dtRezyserowie);
                        idOstatniegoRez = dtRezyserowie.Last().idRezysera;
                    }
                    else
                    {
                        idOstatniegoRez = Convert.ToInt16(czyIstnieje);
                    }
                    filmyRezyserowie.addNewOrId(tFilmy.idOstatniegoFilmu, idOstatniegoRez);
                }
            }
        }

        public void deleteRow(int id)
        {
            adapter.UsunRekord(id);
        }

        public string dajPoIdFilmu(int id)
        {
            dtRezyserowie = adapter.GetDataBy(id);
            string rez = "";
            foreach (dsFilmowy.RezyserowieRow row in dtRezyserowie)
            {
                rez += row[1].ToString() + " " + row[2].ToString() + ", ";
            }
            if (rez.Length >= 2)
                rez = rez.Remove(rez.Length - 2);
            return rez;
        }

        public DataTable dajTabele()
        {
            adapter.Fill(dtRezyserowie);
            return dtRezyserowie;
        }
    }
}
